Limbajul c++ Date in limbajul C++
Un program realizeaza o prelucrare de informatie. Termenul de prelucrare trebuie sa fie considerat într-un sens foarte general (de exemplu prelucrarea se poate referi la un text si consta în afisarea lui). În program datele apar fie sub forma unor constante (valori cunoscute anticipat, care nu se modific?), fie sub forma de variabile. Constantele si variabilele sunt obiectele informationale de baza manipulate într-un program.
Fiecare categorie de date este caracterizata de atributele:
Nume;
Valoare;
Tip;
Clasa de memorare.
De primele trei tipuri de atribute ne vom ocupa în continuare, urmând ca de atributul clasa de memorare sa ne ocupam mai tarziu. Numele unei date Numele unei date este un identificator si, ca urmare, trebuie sa respecte regulile specifice identificatorilor. De asemenea, numarul de caractere care intra în compunerea unui identificator este nelimitat, însa, implicit, numai primele 32 de caractere sunt luate în considerare. Aceasta înseamna ca doi identificatori care au primele 32 de caractere identice, diferentiindu-se prin caracterul 33, vor fi considerati identici. Tipul unei date Tipul unei date consta într-o multime de valori pentru care s-a adoptat un anumit mod de reprezentare în memoria calculatorului si o multime de operatori care pot fi aplicati acestor valori. Tipul unei date determina lungimea zonei de memorie ocupata de acea data. În general, lungimea zonei de memorare este dependenta de calculatorul pe care s-a implementat compilatorul. Tipurile de baza sunt: intregi si reale
Intregi:
char un singur octet (1 byte=8 biti), capabil sa contina codul unui caracter din setul local de caractere;
int numar intreg, reflecta in mod tipic marimea naturala din calculatorul utilizat;
float numar real, in virgula mobila, simpla precizie;
double numar real, in virgula mobila, dubla precizie.
In completare exista un numar de calificatori, care se pot aplica tipurilor de baza char, int, float sau double: short, long, signed si unsigned. Astfel, se obtin tipurile derivate de date. Short si long se refera la marimea diferita a intregilor, iar datele de tip unsigned int sunt intotdeauna pozitive. S-a intentionat ca short si long sa furnizeze diferite lungimi de intregi, int reflectand marimea cea mai "naturala" pentru un anumit calculator. Fiecare compilator este liber sa interpreteze short si long in mod adecvat propriului hardware; in nici un caz, insa, short nu este mai lung decat long. Toti acesti calificatori pot aplicati tipului int. Calificatorii signed (cel implicit) si unsigned se aplica tipului char. Calificatorul long se aplica tipului double. Daca intr-o declaratie se omite tipul de baza, implicit, acesta va fi int.Tabelul urmator prezinta lungimea zonei de memorie ocupata de fiecare tip de data. 1. TIPURILE INTREGI
NUME TIP
DIMENSIUNE IN BITI
DOMENIU
unsigned char
8
0..255
char
8
-128..127
unsigned int
16
0..65535
short int
16
-32768..32767
int
16
-32768..32767
unsigned long
32
0..4294967295
long
32
-2147483648..2147483647
Obs: a) In C++ nu exista tipul boolean. In acest caz, orice valoare diferita de 0 este considerata ca fiind TRUE si orice valoare 0 este considerata ca fiind FALSE. b) Tipul caracter este asimilat tipurilor intregi. Memorarea unui caracter se face folosind codul ASCII al acestuia. In operatiile referitoare la caractere ne putem referi atat la caracter cat si la codul sau ASCII (conversia se face automat, in functie de context). De ex: char a='c',b=99; cout<<a<<" "<<b; Se tipareste de 2 ori caracterul 'c' (care are codul ASCII 99) cout<<a+101; Se tipareste 200 (a fost adunat codul ASCII al caracterului 'c' cu 101) 2. TIPURILE REALE
NUME TIP
DIMENSIUNE IN BITI
MAXIMA (in valoare absoluta)
float
32
3.4*pow(10,38)
double
64
1.7*pow(10.308)
long double
80
1.1*pow(10,4932)
In header-ul <values.h> sunt definite constantele simbolice (cum ar fi: MAXINT, MAXSHORT, MAXLONG, MINDOUBLE, MINFLOAT, etc.) care au ca valoare limitele inferioara si superioara ale intervalului de valori pentru tipurile de date enumerate. (de exemplu MAXINT reprezinta valoarea intregului maxim care se poate memora, etc. )
TIPURILE DE OPERATORI SI PRIORITATEA LOR
PRIORITATE
OPERATORI
TIP OPERATOR
OBSERVATII
1
( )
2
! + -
operatori unari
-not (!) Ex: !0=1, !1=0
-Ex:
-10,
+23,
3
* / %
operatori multiplicativi
- operatorul % actioneaza numai asupra operanzilor intregi
- operatorul / face impartirea intreaga daca cei doi operanzi ai sai sunt intregi si reala, daca macar un operand este real
4
+ -
operatori aditivi
operatori binari pentru adunare si scadere
5
< <= > >=
operatori relationali
rezultatul unei operatii logice poate fi 1 (TRUE) sau 0 (FALSE)
6
= = !=
operatori de egalitate
_ ,, _
7
&&
SI logic
0&&1=0, 1&&1=1, 0&&0=0
8
SAU logic
0
1=1, 0
0=0, 1
1=1
Clasificarea operatorilor:
Operatori aritmetici:
Nr. crt
operator
semnificatie
1
-
Minus (unar)
2
+
Plus (unar)
3
+
Plus (binar)
4
-
Minus (binar)
5
*
Inmultire (binar)
6
/
Impartire (binar)
7
%
Restul impartirii intregi (binar)
2. Operatori relationali:
Nr. crt
operator
semnificatie
1
<
Mai mic (binar)
2
<=
Mai mic sau egal (binar)
3
>
Mai mare
4
>=
Mai mare sau egal (binar)
3. Operatori de egalitate:
Nr. crt
operator
semnificatie
1.
= =
De egalitate (binar)
2.
!=
Diferit de (binar)
4.Operatori logici:
Nr. crt
operator
semnificatie
1.
!
Negare logica (binar)
2.
&&
Si logic (binar)
3.
Sau logic (binar)
5.Operatorul = de atribuire (binar) :
variabila=expresie
sau:
1. Se citesc de la tastura 2 numere intregi a si b. Sa se afiseze suma acestora. Rezolvare
Date in limbajul C++
Un program realizeaza o prelucrare de informatie. Termenul de prelucrare trebuie sa fie considerat într-un sens foarte general (de exemplu prelucrarea se poate referi la un text si consta în afisarea lui). În program datele apar fie sub forma unor constante (valori cunoscute anticipat, care nu se modific?), fie sub forma de variabile. Constantele si variabilele sunt obiectele informationale de baza manipulate într-un program.
Fiecare categorie de date este caracterizata de atributele:
- Nume;
- Valoare;
- Tip;
- Clasa de memorare.
De primele trei tipuri de atribute ne vom ocupa în continuare, urmând ca de atributul clasa de memorare sa ne ocupam mai tarziu.Numele unei date Numele unei date este un identificator si, ca urmare, trebuie sa respecte regulile specifice identificatorilor. De asemenea, numarul de caractere care intra în compunerea unui identificator este nelimitat, însa, implicit, numai primele 32 de caractere sunt luate în considerare. Aceasta înseamna ca doi identificatori care au primele 32 de caractere identice, diferentiindu-se prin caracterul 33, vor fi considerati identici.
Tipul unei date Tipul unei date consta într-o multime de valori pentru care s-a adoptat un anumit mod de reprezentare în memoria calculatorului si o multime de operatori care pot fi aplicati acestor valori. Tipul unei date determina lungimea zonei de memorie ocupata de acea data. În general, lungimea zonei de memorare este dependenta de calculatorul pe care s-a implementat compilatorul.
Tipurile de baza sunt: intregi si reale
Intregi:
- char un singur octet (1 byte=8 biti), capabil sa contina codul unui caracter din setul local de caractere;
- int numar intreg, reflecta in mod tipic marimea naturala din calculatorul utilizat;
- float numar real, in virgula mobila, simpla precizie;
- double numar real, in virgula mobila, dubla precizie.
In completare exista un numar de calificatori, care se pot aplica tipurilor de baza char, int, float sau double: short, long, signed si unsigned. Astfel, se obtin tipurile derivate de date. Short si long se refera la marimea diferita a intregilor, iar datele de tip unsigned int sunt intotdeauna pozitive. S-a intentionat ca short si long sa furnizeze diferite lungimi de intregi, int reflectand marimea cea mai "naturala" pentru un anumit calculator. Fiecare compilator este liber sa interpreteze short si long in mod adecvat propriului hardware; in nici un caz, insa, short nu este mai lung decat long. Toti acesti calificatori pot aplicati tipului int. Calificatorii signed (cel implicit) si unsigned se aplica tipului char. Calificatorul long se aplica tipului double. Daca intr-o declaratie se omite tipul de baza, implicit, acesta va fi int.Tabelul urmator prezinta lungimea zonei de memorie ocupata de fiecare tip de data.1. TIPURILE INTREGI
2. TIPURILE REALE
TIPURILE DE OPERATORI SI PRIORITATEA LOR
+
-
-Ex:
-10,
+23,
- operatorul / face impartirea intreaga daca cei doi operanzi ai sai sunt intregi si reala, daca macar un operand este real
!=
Clasificarea operatorilor:
2. Operatori relationali:
3. Operatori de egalitate:
4.Operatori logici:
5.Operatorul = de atribuire (binar) :
variabila=expresie
sau:
1. Se citesc de la tastura 2 numere intregi a si b. Sa se afiseze suma acestora.
Rezolvare